#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//struct S
//{
//	char c1;
//	int a;
//	char c2;
//};
//#define OFFSETOF(type,mem) (size_t)&(((type*)0)->mem)
//int main() {
//	struct S s;
//	printf("%zd\n", OFFSETOF(struct S, c1));
//	printf("%zd\n", OFFSETOF(struct S, a));
//	printf("%zd\n", OFFSETOF(struct S, c2));
//	return 0;
//}
#define SWAP_BIT(n)   (n=((n&0x55555555)<<1)+ ((n&0xaaaaaaaa)>>1))
int main() 
{
	int a = 11;
	SWAP_BIT(a);
	printf("%d\n", a);
	SWAP_BIT(a);
	printf("%d\n", a);
	return 0;
}